
        <html>
			<head>
			     <title>黑客教你如何在微信强制诱导分享营销广告还不被封！ - horseluke</title>
				 <meta http-equiv="content-type" content="text/html; charset=UTF-8">
			</head>
			<body>
				<h1>原文地址:<a href="http://drops.wooyun.org/papers/6571">http://drops.wooyun.org/papers/6571</a></h1>
				
      <p>
        <h1>0x00 前言</h1>

<hr />

<p><img src="http://static.wooyun.org//drops/20150625/2015062502453028831.png" alt="enter image description here" /></p>

<p>（图：不被微信封，是做微信营销和微商的终极梦想之一）  </p>

<p>这年头，发广告诱导强制分享不是事儿，发广告诱导强制分享还不被微信封才是真事儿。据说这套黑客宝典能让张小龙梦碎，能让微商实现我的梦，营销梦。什么，你不信？客官您往下看嘛！</p>

<!--more-->

<h1>0x01 有钱就是任性，域名多多益善</h1>

<hr />

<p>首先，你得有域名，最好是很多个域名，用来打一枪换一炮。什么？域名不足？买云服务商啊！随便买一台就送一个临时域名，多省事！  </p>

<p>比如以下这个案例1，硬是靠海量域名+腾讯云部署活了下来。老兄，我要给个服字！</p>

<p><strong><em>案例1入口：</em></strong></p>

<pre><code>hxxp://powerafa.com.cn/yunnews.html?id=635686647860845896
hxxp://35yu.cn/yunnews.html?id=635686647860845896&amp;li=ok
hxxp://www.qulanstream.com.cn/BoKkhdO0c.html?id=635686647860845896&amp;li=on
hxxp://www.gamelastic.com.cn/yunnews.html?id=635686697389840889&amp;li=ok
hxxp://bidoqw.pw/37AjIUgiK.html?id=635681388181971759&amp;li=ok&amp;from=singlemessage&amp;isappinstalled=0
hxxp://36an.cn/XPSar0OFA.html?id=635686650348738266&amp;li=ok&amp;from=singlemessage&amp;isappinstalled=0
hxxp://www.52book8.com.cn/qShRyr6JK.html?id=635686650348738266&amp;li=on
hxxp://powerlane.cn/1QLz39XH2.html?id=635681388181971759&amp;li=on
……（域名太多，加上笔者高度近视，已头晕）
</code></pre>

<p> <img src="http://static.wooyun.org//drops/20150625/2015062502453094810.png" alt="enter image description here" /></p>

<p>（图：朋友给笔者发送的案例1链接，每个链接域名都不一样，但里面的手法完全一致）  </p>

<p><img src="http://static.wooyun.org//drops/20150625/2015062502453098082.png" alt="enter image description here" /></p>

<p>（图：暴力绕过微信jssdk典范，没有使用微信jssdk，而是点击后遮罩，12秒后跳转；另注意短短几十行居然出现3个不同的myqcloud.com云实例临时域名）</p>

<p><img src="http://static.wooyun.org//drops/20150625/2015062502453047047.png" alt="enter image description here" /></p>

<p>（图：案例1效果）  </p>

<h1>0x02 你要举报啊，然而并没什么卵用</h1>

<hr />

<p>什么？你说伪装举报页面？这方法太~out~啦，不过还是得先介绍介绍。  </p>

<p>比如以下这个案例2，是一个假红包诱导分享给其他朋友，为以假乱真，进行了举报页面伪造。该案例的营销目的是为了在最下面推销广告，比如微力购的性用品（weilivip.com.cn）、百度钱包（hxxp://wx.hebeikehua.cn/test/cs/baidull#rd 。什么？又见百度？！百度很缺钱么经常耍小手段推自己的产品？！还是说百度的提成高所以白道黑道都去抢？！），等等。  </p>

<p>这个案例还以下特点：  </p>

<p>（1）使用了微信登录。众所周知，微信登录申请条件严格，但并不能阻止其被滥用。  </p>

<p>（2）使用了阿里云、百度CDN、新浪微博图床等服务以简化迁移部署和加速访问。等等我这是在为云服务商做广告吗？请以上提到的互联网厂家赞助我一下......  </p>

<p>案例2入口：hxxp://wx.hebeikehua.cn/pack/list  </p>

<p><img src="http://static.wooyun.org//drops/20150625/2015062502453187370.png" alt="enter image description here" /></p>

<p>（图：被滥用的微信登录）</p>

<p><img src="http://static.wooyun.org//drops/20150625/2015062502453113376.png" alt="enter image description here" /></p>

<p>（图：伪造举报页面）  </p>

<p><img src="http://static.wooyun.org//drops/20150625/2015062502453172891.png" alt="enter image description here" /></p>

<p>（图：使用各种云服务）</p>

<p><img src="http://static.wooyun.org//drops/20150625/2015062502453181521.png" alt="enter image description here" /></p>

<p>那么新潮方法是啥法子？微信jssdk有一个分享接口，这个分享接口可以自定义分享链接和标题：  </p>

<pre><code>http://mp.weixin.qq.com/wiki/7/aaa137b55fb2e0456bf8dd9148dd613f.html#.E8.8E.B7.E5.8F.96.E2.80.9C.E5.88.86.E4.BA.AB.E5.88.B0.E6.9C.8B.E5.8F.8B.E5.9C.88.E2.80.9D.E6.8C.89.E9.92.AE.E7.82.B9.E5.87.BB.E7.8A.B6.E6.80.81.E5.8F.8A.E8.87.AA.E5.AE.9A.E4.B9.89.E5.88.86.E4.BA.AB.E5.86.85.E5.AE.B9.E6.8E.A5.E5.8F.A3
</code></pre>

<p>    获取“分享到朋友圈”按钮点击状态及自定义分享内容接口</p>

<pre><code>wx.onMenuShareTimeline({
    title: '', // 分享标题
    link: '', // 分享链接
    imgUrl: '', // 分享图标
    success: function () { 
        // 用户确认分享后执行的回调函数
    },
    cancel: function () { 
        // 用户取消分享后执行的回调函数
    }
});
</code></pre>

<p>  获取“分享给朋友”按钮点击状态及自定义分享内容接口</p>

<pre><code>wx.onMenuShareAppMessage({
    title: '', // 分享标题
    desc: '', // 分享描述
    link: '', // 分享链接
    imgUrl: '', // 分享图标
    type: '', // 分享类型,music、video或link，不填默认为link
    dataUrl: '', // 如果type是music或video，则要提供数据链接，默认为空
    success: function () { 
        // 用户确认分享后执行的回调函数
    },
    cancel: function () { 
        // 用户取消分享后执行的回调函数
    }
});
</code></pre>

<p>    聪明的你一定想到了：用这个jssdk分享接口，那么展示营销广告页面的域名（下称“A展示域名”），和分享出去的域名（下称“X分享域名”）可以是不一样的嘛！具体来讲：</p>

<pre><code>1. 用户被诱导分享的是“X分享域名”；但其他人点击进去“X分享域名”后，会被自动跳到“A展示域名”。 
2. 此时，即使用户想举报，也只能举报“A展示域名”，“A展示域名”被封了也不影响“X分享域名”的正常打开。 
3. “X分享域名”还可以随时随地修改、跳转到别的展示域名去（“C展示域名”、“D展示域名”等）。 
4. 反过来将，展示页面（“B展示域名”、“C展示域名”、“D展示域名”等）内的jssdk分享url参数，又可以随时随地修改成其他域名（“Y分享域名”、“Z分享域名”等）。
</code></pre>

<p>这样就等于可以营造多个诱导分享的入口、多个诱导内容的出口。整个举报流程，就变得没卵用了。想到这里，我感觉自己终于掌握了黑客营销的精髓，不用多久，我就会升职加薪，当上总经理，出任CEO，迎娶白富美，走上人生巅峰。想想还有点小激动呢，嘿嘿~~    </p>

<p>以案例3为例，其分享出去的url和打开的url并不一致。其营销目的还是最下面的卖内裤广告，追查下去会发现，其实是被引诱进入了乐活平台这类“微信盈利分成平台”（请自行百度该词，或查看：http://www.witmart.com/cn/case-studies/5282991 ）。   案例3入口：hxxp://www.youghe.cn/web/mb/index3.php</p>

<p><img src="http://static.wooyun.org//drops/20150625/2015062502453171512.png" alt="enter image description here" /></p>

<p>（图：案例3，分享出去的页面url与当前访问的url并非一致）</p>

<p><img src="http://static.wooyun.org//drops/20150625/2015062502453283043.png" alt="enter image description here" /></p>

<p>且慢！用这个jssdk分享接口，可是有门槛的！腾讯不是没有防范，早已定下两条规矩才能在微信公众平台绑定域名并使用分享接口：  </p>

<p>1 展示营销广告html页面的域名（“A展示域名”、“B展示域名”、“C展示域名”等）得先备案。  </p>

<p>也许制定规则的人心想，备案走常规路径的话，那个慢啊，还得泄露自己资料，应该不会有人这样手握批量备案域名吧？  </p>

<p>2 域名内使用jssdk的微信公众号，要通过认证。  </p>

<p>也许制定规则的人心想，300元/年的认证费用，无论通不通过都要收，应该能吓退那些想拥有多个认证公众号来干坏事的人吧？  </p>

<p>但以下这个案例4，早已打破这两条规矩。这个案例在一周时间内换了至少1个认证公众号、4个域名，而且都是备案过的；甚至，连仅仅是用于跳转的分享域名（真的是只干跳转、没有跳转漏洞的事），居然也是备！案！了！的！大哥，请收膝盖！各位尽情欣赏吧！  </p>

<p>案例4入口：<code>hxxp://lfoz-csjvts-ohzd.jpzhy.com/zhou///////////////////////////////////////////////////////?uid=&amp;from=timeline&amp;isappinstalled=0</code>  </p>

<p><img src="http://static.wooyun.org//drops/20150625/2015062502453266155.png" alt="enter image description here" /></p>

<p>（图：6月2日的其中一个展示域名已不可访问）</p>

<p><img src="http://static.wooyun.org//drops/20150625/2015062502453283290.png" alt="enter image description here" /></p>

<p>  （图：一周后，换了一个个认证公众号）</p>

<p><img src="http://static.wooyun.org//drops/20150625/2015062502453219141.png" alt="enter image description here" /></p>

<p>（图：一周后，换了4个域名！）</p>

<p><img src="http://static.wooyun.org//drops/20150625/2015062502453390629.png" alt="enter image description here" /></p>

<p>至于案例4是怎样手握这么多认证/备案资源的，个人猜测，可能和各种“微信盈利分成平台”有一定关系，形成了利益交换；但也不排除人家就是有钱任性随便买，或者罚的不够赚的多、违规成本低等等。  </p>

<p>另外，“备案才能调用微信jssdk”这个规则，其实有一个非常简单的绕过办法，就是买国内云服务商的云实例，成功后会给一个临时域名，而临时域名的一级域名，是备了案的；同时云实例可以轻易销毁和重新创建，这样临时域名就可以轻易更换。个人猜测，微信敢不敢封杀这些临时一级域名，要取决于腾讯和其他云服务之间的商业竞争因素，而不是有多少人在用这条规则绕过来营销。曾经见过有利用腾讯云的myqcloud.com来绕过这条限制，可惜找不到了。  </p>

<p>什么？你想低成本绕过门槛？好好揣摩案例1吧！案例1简直是无视这些微信规则的暴力典范啊！  </p>

<h1>0x03 日了返回键，就不让你返回</h1>

<hr />

<p>上面那个案例4还有一事值得一说，就是点下面诱导文字之后，你发现是广告，觉得上当了，然后按返回键，结果......却给你换另外一条广告，除非快速多次按返回、或者按关闭按钮。   听上去好牛X的样子，然而劫持手段简单的发指，那就是点下面诱导文字时候，进入的其实是guanggao.php（如：<code>hxxp://www.cccqzj.com/guanggao.php</code> ），这个页面随机抽取一个广告链接，然后setTimeout 1毫秒后跳到真正的广告页。你按返回键，只是跳转回guanggao.php，然后就被重复上述过程，跳到另一个广告页。</p>

<p><img src="http://static.wooyun.org//drops/20150625/2015062502453310490.png" alt="enter image description here" /></p>

<p>（图：guanggao.php）   怎么样？这套诱导分享营销宝点是不是不错啊？觉得有用，您就分享出去嘛！   据说有90%聪明的人会忍不住扫描下面的二维码，因为有更多惊喜呢！！</p>

<p><img src="http://static.wooyun.org//drops/20150625/2015062502453382262.jpg" alt="enter image description here" /></p>

<p>编后：   这几个案例有没有关联呢？答案是案例1自成一派；案例2、3和4则有强关联。后者虽然归属不同的“微信盈利分成平台”，但引诱用户购买的东西基本都集中在和性有关联的用品，这不得不让人联想，是不是同一伙人所为呢？  </p>

<p><img src="http://static.wooyun.org//drops/20150625/2015062502453369108.png" alt="enter image description here" /></p>

<p>（图：案例2、3、4的相同下单页面）   那么对于微信，又要怎么防诱导分享呢？举报功能要如何做，才能不被用户吐槽？笔者想了很久，却感觉毫无头绪。  </p>

<p><img src="http://static.wooyun.org//drops/20150625/2015062502453362595.png" alt="enter image description here" /></p>

<p><img src="http://static.wooyun.org//drops/20150625/2015062502453487433.png" alt="enter image description here" /></p>

<p>（微信官方公众号“谣言过滤器”《肯德基已经起诉了，造谣的你们怎么办》、《发个微信红包，让造谣的家伙哭晕在厕所》等评论中，用户的吐槽）   微信当然拥有很大的优势，可以修改微信客户端，在用户举报时，连同点击入口都给附加到举报参数上去；也可以不修改客户端，而是部署一套模拟系统，对举报的内容，进行模拟操作（而不是简单的正则分析，因为可以混淆）。但现实是，早已有人攻破“花钱办事”的规则（如案例4），那么，反欺诈的结局，似乎更加悲哀。</p>

<p>各SRC(Security Response Center)天然并没有反欺诈的运营功能——这点并不是我臆想的，而是在某次会议中，某SRC负责人曾无奈坦诚，他们手头有个用户孜孜不倦地提供相关反欺诈信息，却无法享受白帽子的应有待遇，因为欺诈内容与漏洞无关。然而问题是，用户们有时强烈的反应、甚至关乎钱财的损失，会让人不得不反思，反欺诈和隐私保护，究竟算不算安全工作？！  </p>

<p>难道，要走“打假第一人”的道路？</p>

<p><img src="http://static.wooyun.org//drops/20150625/2015062502453474128.png" alt="enter image description here" /></p>

<p>（笔者某次遭遇的新浪微博僵尸粉，刷了整屏粉丝列表；由于赶上全站垃圾粉丝清理计划，因此有用户觉得“越清越多垃圾粉”）</p>      </p>
    
			</body>
		</html>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          